Software images, each software image encapsulating files residing on a computing machine, may be used to facilitate software deployment operations. Particularly, software images allow deploying virtual (computing) machines, each virtual machine emulating a physical (computing) machine by software, in an effective way. Indeed, each virtual machine may be deployed by being created and booted from a corresponding software image that stores the virtual machine's operating system and one or more software applications already installed on the virtual machine. Moreover, the virtual machines may be combined into virtual appliances, each virtual appliance comprising the definition of one or more virtual machines with their software images The virtual appliance is encapsulated in a self-contained package which may be deployed as a unit and is especially advantageous in cloud computing environments, wherein computing resources offered as services are made available on-demand.
The software applications of the virtual machines are typically subject to maintenance operations during the life cycle of the software applications. Modifications may be applied to the software applications from time to time, for example, to correct bugs or to improve operation of the software applications. Once the virtual machines have been deployed from the corresponding software images, maintenance of the software applications is generally managed with a traditional approach (for example, the maintenance is managed with each software application that comprises an embedded updating tool, which is invoked periodically when the software application is launched for downloading any modification thereof that is available online and then applying the software application).
However, traditional maintenance of the software applications requires custom and complex ad hoc searches, which may be time consuming and prone to errors. Moreover, the created software images may not be effectively reused for other software applications (for example, sharing a same middleware).